package cz.apnetis.gwt.client;

import com.google.gwt.i18n.client.NumberFormat;

/** Class which convert integer to string and back
 * @author Lukas "benzin" Benda <a href="mailto:luk.benda@gmail.com">luk.benda@gmail.com</a>
 */
public class IntegerStringConverter implements StringConverter<Integer> {

  /* (non-Javadoc)
   * @see cz.apnetis.gwt.client.StringConverter#stringToValue(java.lang.String)
   */
  @Override
  public final Integer stringToValue(final String value) {
    if (value == null || "".equals(value)) { return null; }
    return Integer.valueOf(Double.valueOf(NumberFormat.getDecimalFormat().parse(value)).intValue());
  }

  /* (non-Javadoc)
   * @see cz.apnetis.gwt.client.StringConverter#valueToString(java.lang.Object)
   */
  @Override
  public final String valueToString(final Integer value) {
    if (value == null) { return null; }
    return NumberFormat.getDecimalFormat().format(value.doubleValue());
  }
}
